\documentclass[tikz,border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary {arrows.meta}
\usetikzlibrary{calc}
\usetikzlibrary { decorations.pathmorphing, 
decorations.pathreplacing, decorations.shapes,}
\usepackage{unicode-math}
\setmathfont{XITS Math}
% 取消注释，开启 node 名称标记
%\input tikz-auto-mark-nodes 

\begin{document}

% pics
\tikzset{
pics/HandBag/.style n args={7}{
code={
%%-----subpicture 代码
\coordinate (a0) at (0,0){};
\node[above right =-1.5 and -0.2 of a0](Flabel){#7};% 图的 label
%% 入射和出射核子
\coordinate[above right =-0.4 and -1.6 of a0] (a1){};
\coordinate[above right =-1.2 and -3.5 of a0] (b1){};
\node[above right =-1.2 and -3.7 of a0] (b1l){#1}; % 核子标记
\coordinate[above right =-0.4 and 1.6 of a0] (a2){};
\coordinate[above right =-1.2 and 3.5 of a0] (b2){};
\node[above right =-1.2 and 3.5 of a0] (b2l){#2};
% 核子连线
\draw[double,double distance=2pt] (b1)--(a1);
\draw[double,double distance=2pt,-{Latex[length=3mm]} ] (b1)--($(b1)!.6!(a1)$);
\draw (b1)--(a1);
\draw[double,double distance=2pt] (b2)--(a2);
\draw[double,double distance=2pt,-{Latex[length=3mm]} ] (a2)--($(a2)!.58!(b2)$);
\draw (b2)--(a2);

%入射和出射部分子
\coordinate[above right =0.5   and 1.3 of a0] (a3){};
\coordinate[above right =1.8   and 0.6 of a0] (b3){};
\node[above right =1.0   and 1.2 of a0,align=left] (b3l){#3}; % 部分子标记
\coordinate[above right =1.8 and -0.6 of a0] (b4){};
\coordinate[above right =0.5 and -1.3 of a0] (a4){};
\node[above right =1.0   and -2.0 of a0,align=right] (b4l){#4};
%%部分子连线
\draw[semithick] (b3)--(a3);
\draw[semithick] (b3)--(b4);% 部分子横向连线
\draw[-{Latex[length=3mm]} ] (b3)--($(b3)!.62!(a3)$);
\draw[semithick] (b4)--(a4);
\draw[-{Latex[length=3mm]} ] (a4)--($(a4)!.6!(b4)$);

%%光子外腿
\coordinate[above right = 2.8 and 2 of a0] (p3){};
\coordinate[above right = 2.8 and -2 of a0] (p4){};
\node[above right = 2.5 and -3.0 of a0] (lp3){#5};
\node[above right = 2.5 and 2.1 of a0] (lp4){#6};
%%
\draw[decorate,decoration={coil,aspect=0}](b3)--(p3);
\draw[decorate,decoration={coil,aspect=0}](b4)--(p4);

% 画椭圆 blob
\filldraw[fill=blue!30,draw=black] (a0) ellipse [x radius=2cm,y radius=.7cm,anchor=center];
%%-----subpicture 代码
}},
%%------ 另一个图
pics/HandBag2/.style n args={7}{
code={
%%-----subpicture 代码
\coordinate (a0) at (0,0){};
\node[above right =-1.5 and -0.2 of a0](Flabel){#7};% 图的 label
%% 入射和出射核子
\coordinate[above right =-0.4 and -1.6 of a0] (a1){};
\coordinate[above right =-1.2 and -3.5 of a0] (b1){};
\node[above right =-1.2 and -3.7 of a0] (b1l){#1}; % 核子标记
\coordinate[above right =-0.4 and 1.6 of a0] (a2){};
\coordinate[above right =-1.2 and 3.5 of a0] (b2){};
\node[above right =-1.2 and 3.5 of a0] (b2l){#2};
% 核子连线
\draw[double,double distance=2pt] (b1)--(a1);
\draw[double,double distance=2pt,-{Latex[length=3mm]} ] (b1)--($(b1)!.6!(a1)$);
\draw[] (b1)--(a1);
\draw[double,double distance=2pt] (b2)--(a2);
\draw[double,double distance=2pt,-{Latex[length=3mm]} ] (a2)--($(a2)!.58!(b2)$);
\draw[] (b2)--(a2);
%入射和出射部分子
\coordinate[above right =0.5 and -0.8 of a0] (a3){};
\coordinate[above right =1.8 and 0.0 of a0] (b3){};
\node[above right =1.0   and -0.1 of a0,align=left] (b3l){#3}; % 部分子标记
\coordinate[above right =1.8 and -0.6 of a0] (b4){};
\coordinate[above right =0.5 and -1.3 of a0] (a4){};
\node[above right =1.0   and -2.1 of a0,align=right] (b4l){#4};
%%部分子连线
\draw[semithick] (b3)--(a3);
\draw[semithick] (b3)--(b4);% 部分子横向连线
\draw[-{Latex[length=3mm]} ] (b3)--($(b3)!.62!(a3)$);
\draw[semithick] (b4)--(a4);
\draw[-{Latex[length=3mm]} ] (a4)--($(a4)!.6!(b4)$);

%%光子外腿
\coordinate[above right = 2.8 and 2 of a0] (p3){};
\coordinate[above right = 2.8 and -2 of a0] (p4){};
\node[above right = 2.5 and -3.0 of a0] (lp3){#5};
\node[above right = 2.5 and 2.1 of a0] (lp4){#6};
%%
\draw[decorate,decoration={coil,aspect=0}](b3)--(p3);
\draw[decorate,decoration={coil,aspect=0}](b4)--(p4);

% 画椭圆 blob
\filldraw[fill=blue!30,draw=black] (a0) ellipse [x radius=2cm,y radius=.7cm,anchor=center];
%%-----subpicture 代码
}},
}%此处不能有空行

\begin{tikzpicture}%[auto mark] %取消注释，开启 node 名称标记
    \path (0,0) pic {
            HandBag = {$p$}{$p$}
                {$x$}{$x$}
                {$\gamma^{*}(q)$}{$\gamma^{*}(q)$}
                {$(a)$}
        };
    \path (8,0) pic {
            HandBag = {$p$}{$p^\prime$}
                {$x-\xi$}{$x+\xi$}
                {$\gamma^{*}(q)$}{$\gamma(q^\prime)$}
                {$(b)$}
        };
        \path (16,0) pic {
            HandBag2 = {$p$}{$p^\prime$}
                {$x-\xi$}{$x+\xi$}
                {$\gamma^{*}(q)$}{$\gamma(q^\prime)$}
                {$(c)$}
        };

\end{tikzpicture}

\end{document}